#ifndef __OgreURLWriteDataStream_H__
#define __OgreURLWriteDataStream_H__
#pragma once

// Include stuff
#include "OgreURLPrerequisites.h"

namespace Ogre
{
	/**
	 * @brief Base class of all stream data writer.
	 */
	class _OgreURLExport URLWriteDataStream
	{
	public:
		/**
		 * @brief Default destructor
		 */
		virtual ~URLWriteDataStream();

		/**
		 * @brief This function gets called as soon as there is data received that needs to be saved
		 * @return Return the number of bytes actually taken care of
		 */
		virtual size_t writeData(void* ptr, size_t size, size_t nmemb) = 0;
	};

} // end of namespace Ogre

#endif // include guard, end of #ifndef __OgreURLWriteDataStream_H__
